﻿using System;
namespace DynamicDNS.Provider
{
    /// <summary>
    /// This interface describes the basic methods, which have to be implemented by the Provider
    /// </summary>
    public interface IDynamicDNSProvider
    {
        /// <summary>
        /// This method is the main method, by which the process for updating a dynamic DNS entry will be executed
        /// </summary>
        /// <param name="ip">Contains the IP Adress for which the Update is to processed</param>
        /// <param name="yourdomainname">Contains the Hostname for which the Update is to processed. This is Provider specific.</param>
        /// <param name="username">Contains the required username for the update</param>
        /// <param name="password">Contains the required password for the update</param>
        /// <returns>DynamicDNSUpdateResult indicates, whether an Update was successful or not.</returns>
        DynamicDNSUpdateResult UpdateIP(System.Net.IPAddress ip, string yourdomainname, string username, string password);
    }
}
